Выведите
все четырехзначные числа от a до b, содержащие разные цифры.
Вход. Два целых
числа a и b (1000 ≤ a ≤
b ≤ 9999).
Выход. Выведите
в одной строке все числа от a до b с разными цифрами.
Пример входа 1 |
Пример выхода 1 |
2000 2015 |
2013 2014 2015 |
|
|
Пример входа 2 |
Пример выхода 2 |
9875 9999 |
9875 9876 |
циклы
Переберем
все числа i от a до b (a ≤ i ≤ b). Если число i = содержит разные цифры,
то выводим i.
Число содержит разные цифры,
если одновременно выполняются следующие условия: x ≠ y, x ≠
z, x ≠ u, y ≠ z, y ≠ u, z ≠ u.
Реализация алгоритма
Читаем
входные значения a и b.
scanf("%d %d",&a,&b);
Перебираем все числа от a до b.
for(i = a; i <= b; i++)
{
Число i
четырехзначное. Выделим из него цифру тысяч, сотен, десятков и единиц: i = .
x = i / 1000;
y = i / 100 % 10;
z = i / 10 % 10;
u = i % 10;
Если все цифры числа i разные, то выводим i.
if (x != y && x != z && x != u
&& y != z && y != u && z != u)
printf("%d ",i);
}
printf("\n");
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int a = con.nextInt();
int b = con.nextInt();
for(int i = a; i <= b; i++)
{
int x = i / 1000;
int y = i / 100 % 10;
int z = i / 10 % 10;
int u = i % 10;
if (x != y && x != z && x != u && y != z && y != u && z != u)
System.out.print(i + " ");
}
}
}
Python реализация
a, b = map(int,input().split())
for i in range(a, b+1):
x = i // 1000
y = i // 100 % 10
z = i // 10 % 10
u = i % 10
if x != y and x != z and x != u and y != z and y != u and z != u:
print(i, end=" ")